home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / libxml2 / libxml / c14n.h next >
C/C++ Source or Header  |  2006-04-25  |  3KB  |  106 lines

  1. /*
  2.  * Summary: Provide Canonical XML and Exclusive XML Canonicalization
  3.  * Description: the c14n modules provides a
  4.  *
  5.  * "Canonical XML" implementation 
  6.  * http://www.w3.org/TR/xml-c14n
  7.  * 
  8.  * and an
  9.  *
  10.  * "Exclusive XML Canonicalization" implementation
  11.  * http://www.w3.org/TR/xml-exc-c14n
  12.  
  13.  * Copy: See Copyright for the status of this software.
  14.  * 
  15.  * Author: Aleksey Sanin <aleksey@aleksey.com>
  16.  */
  17. #ifndef __XML_C14N_H__
  18. #define __XML_C14N_H__    
  19. #ifdef LIBXML_C14N_ENABLED
  20. #ifdef LIBXML_OUTPUT_ENABLED
  21.  
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif /* __cplusplus */ 
  25.  
  26. #include <libxml/xmlversion.h>
  27. #include <libxml/tree.h>
  28. #include <libxml/xpath.h> 
  29.  
  30. /*
  31.  * XML Canonicazation
  32.  * http://www.w3.org/TR/xml-c14n
  33.  *
  34.  * Exclusive XML Canonicazation
  35.  * http://www.w3.org/TR/xml-exc-c14n
  36.  *
  37.  * Canonical form of an XML document could be created if and only if
  38.  *  a) default attributes (if any) are added to all nodes
  39.  *  b) all character and parsed entity references are resolved
  40.  * In order to achive this in libxml2 the document MUST be loaded with 
  41.  * following global setings:
  42.  *    
  43.  *    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
  44.  *    xmlSubstituteEntitiesDefault(1);
  45.  *
  46.  * or corresponding parser context setting:
  47.  *    xmlParserCtxtPtr ctxt;
  48.  *    
  49.  *    ... 
  50.  *    ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
  51.  *    ctxt->replaceEntities = 1;
  52.  *    ...
  53.  */
  54.  
  55.  
  56. XMLPUBFUN int XMLCALL         
  57.         xmlC14NDocSaveTo    (xmlDocPtr doc,
  58.                      xmlNodeSetPtr nodes,
  59.                      int exclusive,
  60.                      xmlChar **inclusive_ns_prefixes,
  61.                      int with_comments, 
  62.                      xmlOutputBufferPtr buf);
  63.  
  64. XMLPUBFUN int XMLCALL
  65.         xmlC14NDocDumpMemory    (xmlDocPtr doc,
  66.                      xmlNodeSetPtr nodes,
  67.                      int exclusive,
  68.                      xmlChar **inclusive_ns_prefixes,
  69.                      int with_comments, 
  70.                      xmlChar **doc_txt_ptr);
  71.  
  72. XMLPUBFUN int XMLCALL
  73.         xmlC14NDocSave        (xmlDocPtr doc,
  74.                      xmlNodeSetPtr nodes,
  75.                      int exclusive,
  76.                      xmlChar **inclusive_ns_prefixes,
  77.                      int with_comments, 
  78.                      const char* filename,
  79.                      int compression);
  80.  
  81.  
  82. /**
  83.  * This is the core C14N function
  84.  */
  85. typedef int (*xmlC14NIsVisibleCallback)    (void* user_data, 
  86.                      xmlNodePtr node,
  87.                      xmlNodePtr parent);
  88.  
  89. XMLPUBFUN int XMLCALL
  90.         xmlC14NExecute        (xmlDocPtr doc,
  91.                      xmlC14NIsVisibleCallback is_visible_callback,
  92.                      void* user_data,                 
  93.                      int exclusive,
  94.                      xmlChar **inclusive_ns_prefixes,
  95.                      int with_comments, 
  96.                      xmlOutputBufferPtr buf);
  97.  
  98. #ifdef __cplusplus
  99. }
  100. #endif /* __cplusplus */
  101.  
  102. #endif /* LIBXML_OUTPUT_ENABLED */
  103. #endif /* LIBXML_C14N_ENABLED */
  104. #endif /* __XML_C14N_H__ */
  105.  
  106.